Software detection may be carried out for various reasons. For example, software detection may be carried out for the sake of discovering software that is outdated that requires an update or needs to be removed from the system. Software detection may also be carried out for the sake of confirming proper licensing of the software installed in a computer system.
A software catalog may be used for properly identifying the various software products found during a scan of the computer system's file systems in the course of software detection. For example, the software catalog may specify file characteristics (e.g., file name and size) that uniquely identify the various software products listed in the software catalog.
In a computer system comprising a server and a client, the server may instruct the client to carry out some of the tasks involved in discovering software located on volumes local to the client. In this respect, there may be a communication of data between the server and the client.